From: Florian Müllner Date: Fri, 22 Nov 2019 22:27:47 +0000 (+0100) Subject: dateMenu: Move weather forecast validity check X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~379 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e72c38b5abd8b2abb07c0b63de561ce67f79f6b5;p=gnome-shell.git dateMenu: Move weather forecast validity check Commit b779f6f728 added a check to filter out invalid weather forecasts. However the check is currently done when creating UI for the forecasts, which means we end up with fewer forecasts than we could display if any forecasts are invalid. We can avoid that issue by checking the validity while collecting the forecasts, so do that instead. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1927 --- diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js index a081c12f5..2f7a95f44 100644 --- a/js/ui/dateMenu.js +++ b/js/ui/dateMenu.js @@ -315,7 +315,10 @@ class WeatherSection extends St.Button { let current = GLib.DateTime.new_from_unix_local(0); let infos = []; for (let i = 0; i < forecasts.length; i++) { - let [ok_, timestamp] = forecasts[i].get_value_update(); + const [valid, timestamp] = forecasts[i].get_value_update(); + if (!valid || timestamp === 0) + continue; // 0 means 'never updated' + const datetime = GLib.DateTime.new_from_unix_local(timestamp); if (now.difference(datetime) > 0) continue; // Ignore earlier forecasts @@ -340,9 +343,7 @@ class WeatherSection extends St.Button { let col = 0; infos.forEach(fc => { - const [valid, timestamp] = fc.get_value_update(); - if (!valid || timestamp === 0) - return; // 0 means 'never updated' + const [valid_, timestamp] = fc.get_value_update(); let timeStr = Util.formatTime(new Date(timestamp * 1000), { timeOnly: true, ampm: false,